# -*- coding: utf-8 -*-
import os
import sys
import webbrowser
import urllib

def login():

    # id de acesso da minha aplicação

    CLIENTE_ID = ''

    URI = 'http://dauster-py.appspot.com/'

    # permissões que solicitamos para o aplicativo , você pode
    #liberar essas permissões também no adminstrador do seu aplicativo

    PERMISSOES = [
        'user_about_me',
        'friends_about_me',
        'user_activities',
        'friends_activities',
        'user_birthday',
        'friends_birthday',
        'user_education_history',
        'friends_education_history',
        'user_events',
        'friends_events',
        'user_groups',
        'friends_groups',
        'user_hometown',
        'friends_hometown',
        'user_interests',
        'friends_interests',
        'user_likes',
        'friends_likes',
        'user_location',
        'friends_location',
        'user_notes',
        'friends_notes',
        'user_online_presence',
        'friends_online_presence',
        'user_photo_video_tags',
        'friends_photo_video_tags',
        'user_photos',
        'friends_photos',
        'user_relationships',
        'friends_relationships',
        'user_religion_politics',
        'friends_religion_politics',
        'user_status',
        'friends_status',
        'user_videos',
        'friends_videos',
        'user_website',
        'friends_website',
        'user_work_history',
        'friends_work_history',
        'email',
        'read_friendlists',
        'read_requests',
        'read_stream',
        'user_checkins',
        'friends_checkins',
        ]

    args = dict(client_id=CLIENTE_ID, redirect_uri=URI,
                scope=','.join(PERMISSOES), type='user_agent', display='popup'
                )
    # solicitando o token via get passando como parametro a url , id e as permissões
    webbrowser.open('https://graph.facebook.com/oauth/authorize?'
                    + urllib.urlencode(args))

   
    token = raw_input('DIGITE AQUI SEU TOKEN DE ACESSO PARA QUE SEJA ARMAZENADO: ')

    if not os.path.isdir('out'):
        os.mkdir('out')

    filename = os.path.join('out', 'facebook.access_token')
    f = open(filename, 'w')
    f.write(token)
    f.close()

    print >> sys.stderr, \
            "TOKEN DE ACESSO ARMAZENADO COM SUCESSO NO ARQUIVO: 'out/facebook.access_token'"

    return token

if __name__ == '__main__':
    login()
